package com.itheima.test;

import java.util.Random;

/*
1. 首先存在一个接口（RandomNumHandler）
2. 在该接口中存在一个抽象方法（getNumber），该方法是无参数但是有返回值
3. 在测试类（RandomNumHandlerDemo）中存在一个方法（useRandomNumHandler）
     方法的的参数是RandomNumHandler类型的
     在方法内部调用了RandomNumHandler的getNumber方法

 */
public class RandomNumHandlerDemo {

    public static void main(String[] args) {
        //匿名内部类
        useRandomNumHandler(() -> {
            Random r = new Random();
            int i = r.nextInt(1000) + 1;
            return i;
        });
        useRandomNumHandler(() -> new Random().nextInt(100)+1);
        //lambda
        useRandomNumHandler(()->{
                Random r = new Random();
                int i = r.nextInt(1000) + 1;
                return i;
            }
        );
    }
    public static void useRandomNumHandler(RandomNumHandler handler){
       int  number= handler.getNumber();
        System.out.println("接收到了一个数"+number);
    }
}
interface RandomNumHandler{
   int getNumber();
}